FROM java:8
#维护者信息
MAINTAINER jackie lee
VOLUME /tmp
ARG JAR_FILE
ADD ${JAR_FILE} ${JAR_FILE}
RUN sh -c 'touch /${JAR_FILE}'
# 设置容器时区
# RUN apk update && apk add tzdata
# RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 解决JAVA时区问题  -Duser.timezone=GMT+08
ENV JAVA_OPTS="-Xms128m -Xmx512m"
ENV PROFILE="uat"
ENV APP_NAME=${JAR_FILE}
# 如docker run 指定了其他命令，CMD 指定的默认命令和参数将被忽略,而ENTRYPOINT的命令和参数一定会执行
# 这行参数添加无效。。 奇怪
# CMD ["--spring.profiles.active=uat"]
# 第一个空格前面的字符串是要执行的命令，也就是0, 后面的都是参数
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS  -Djava.awt.headless=true -Denv=$PROFILE -Duser.timezone=GMT+08 -Djava.security.egd=file:/dev/./urandom -jar /$APP_NAME --spring.profiles.active=$PROFILE  " ]

